home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 4 / Atari Forever 4.zip / Atari Forever 4.iso / PD_THEMA / EDITOREN / 7UP_PD / 3D.TXT next >
Text File  |  1998-03-14  |  7KB  |  171 lines

  1. =================================================================
  2.  
  3.                 Three Dimensional Objects                 1/21/93
  4.  
  5. Three  dimensional objects are implemented in AES version 3.4 and
  6. up.
  7.  
  8. Defines:
  9.  
  10. #define     FL3DMASK            0x0600
  11. #define     FL3DNONE            0x0000
  12. #define     FL3DIND             0x0200
  13. #define     FL3DBAK             0x0400
  14. #define     FL3DACT             0x0600
  15.  
  16. #define LK3DIND
  17. #define LK3DACT
  18. #define INDBUTCOL
  19. #define ACTBUTCOL
  20. #define BACKGRCOL
  21. #define AD3DVALUE
  22.  
  23. Description:
  24.  
  25. The  AES  uses  2  new  bits  in the ob_flags field of objects to
  26. indicate  what kind of 3D shading effects (if any) should be used
  27. on the object. These are bits 9 and 10 of ob_flags.
  28.  
  29. If  both bits are clear (FL3DNONE) then no 3D shading effects are
  30. applied to the object.
  31.  
  32. If  (ob_flags  &  FL3DMASK)  is  FL3DIND,  then  the object is an
  33. "indicator."  Typically  indicators  are  used in dialog boxes to
  34. indicate  some  sort  of state; for example, whether an option is
  35. "on" or "off." Radio buttons should always be indicators.
  36.  
  37. If  (ob_flags  &  FL3DMASK)  is  FL3DACT,  then  the object is an
  38. "activator."  Activators  don't  have  a  persistent  state,  but
  39. rather  are  usually controls of some sort. For example, the "OK"
  40. and "Cancel" buttons in dialog boxes should be activators.
  41.  
  42. If  (ob_flags  &  FL3DMASK)  is  FL3DBAK,  then  the  object is a
  43. "background"   object.   Background   objects   are  usually  not
  44. selectable,  and  do  not typically display 3D effects other than
  45. inheriting  the  "3D  background  object"  color (see below); the
  46. only  3D  effect applied to background objects is that "outlined"
  47. background  objects  appear to be raised above the objects behind
  48. them.
  49.  
  50. The  colors  (and  effects,  for indicators and activators) of 3D
  51. objects  may  be  controlled  by the objc_sysvar function. Any 3D
  52. object  which  is  color  0 (white) and has a hollow fill pattern
  53. will  be  drawn  in the 3D default color set for its object type,
  54. instead  of  in  white.  3D  objects which are not white or which
  55. have  a  non-hollow  fill  pattern will be drawn in the color and
  56. pattern specified, as usual.
  57.  
  58. -----------------------------------------------------------------
  59.  
  60.  
  61. 6.4.9   OBJC_SYSVAR
  62.  
  63. Purpose:
  64.  
  65. Allows  an  application  to set or inquire the colors and effects
  66. for  3D  objects.  Applications  should  not  change 3D colors or
  67. effects  except  at the explicit request of the user, because all
  68. such changes are global (i.e. they affect all processes).
  69.  
  70. Parameters:
  71.  
  72.      control(0)  =  48
  73.      control(1)  =  4
  74.      control(2)  =  3
  75.      control(3)  =  0
  76.      control(4)  =  0
  77.  
  78.      int_in(0)   =  ob_smode
  79.      int_in(1)   =  ob_swhich
  80.      int_in(2)   =  ob_sival1
  81.      int_in(3)   =  ob_sival2
  82.  
  83.      int_out(0)  =  ob_sreturn
  84.      int_out(1)  =  ob_soval1
  85.      int_out(2)  =  ob_soval2
  86.  
  87.  
  88. o    ob_smode - whether the call is to get or set attributes
  89.  
  90.      0  Inquire (get) attributes
  91.  
  92.      1  Set attributes
  93.  
  94. o    ob_swhich - which attributes are being set or inquired; this
  95.                  also affects the meaning of the other values,
  96.                  as follows:
  97.  
  98.      LK3DIND
  99.                Get/set   attributes  for  indicator  objects.  If
  100.                ob_smode  is  0,  then ob_soval1 indicates whether
  101.                the  text of indicator objects does(1) or does not
  102.                (0)   move   when  the  object  is  selected,  and
  103.                ob_soval2  indicates  whether  the object does (1)
  104.                or  does  not  (0)  change color when selected. If
  105.                ob_smode  is  1,  then  ob_sival1 controls whether
  106.                indicator  object  text  will  (1) or will not (0)
  107.                move  when  the  object is selected, and ob_sival2
  108.                controls  whether  indicator  objects  will (1) or
  109.                will  not  (0)  change  color  when sel ected. The
  110.                default is ob_sival1 = 1 and ob_sival2 = 0.
  111.  
  112.      LK3DACT
  113.                Get/set attributes for activator objects. The mean
  114.                ings  of   ob_soval1,  ob_soval2,  ob_sival1,  and
  115.                ob_sival2  are  the  same   as for LK3DIND, except
  116.                that  they apply to activator objects  rather than
  117.                indicator  objects.  The  defaults  for activator
  118.                objects is ob_sival1 = 0 and ob_sival1 = 1.
  119.  
  120.      INDBUTCOL
  121.                Get/set  default color for indicator objects. This
  122.                is   the   color  which  hollow,  white  indicator
  123.                objects  (e.g.  buttons)  will be drawn in instead
  124.                of  white.  If  ob_smode  is 0,  then ob_soval1 is
  125.                the  current color index of the default  indicator
  126.                object  color.  If  ob_smode  is 1, then ob_sival1
  127.                is the new color index for indicator objects.
  128.  
  129.      ACTBUTCOL
  130.                Get/set  default color for activator objects. Same
  131.                as   INDBUTCOL,  but  applies to activators rather
  132.                than indicators.
  133.  
  134.      BACKGRCOL
  135.                Get/set  default  color for 3D background objects.
  136.                Same   as   INDBUTCOL,  but  applies  only  to  3D
  137.                background objects.
  138.  
  139.      AD3DVALUE
  140.                Get pixel adjustments for 3D indicators and activa
  141.                tors.   ob_smode  must  be  0. ob_soval1 is set to
  142.                the  number  of pixels  by which 3D indicators and
  143.                activators    are   expanded   on   each   side
  144.                horizontally   (to  accomodate  3D  effects),  and
  145.                ob_soval2  is   the number of pixels by which they
  146.                are   expanded  vertically.   Remember  that  this
  147.                adjustment  is  applied  to  each  side  of  the
  148.                object,   so   the  objects  width  or  height  is
  149.                increased  by  twice   this amount.  Background 3D
  150.                objects never change in size.
  151.  
  152. o    ob_sreturn - a coded return message
  153.  
  154.      0 - FAILURE: an illegal value has been given for ob_swhich
  155.                   or for ob_smode
  156.  
  157.      >0 - SUCCESS: the objc_sysvar call succeeded
  158.  
  159.      ------------------------------------------------
  160.  
  161.      Sample call to C language binding:
  162.  
  163.      ob_return = objc_sysvar( word ob_smode,
  164.                               word ob_swhich,
  165.                               word ob_sival1,
  166.                               word ob_soval1,
  167.                               word *ob_soval1,
  168.                               word *ob_soval2 );
  169.  
  170.  
  171.